//package com.candy.db.generator.core;
//
///**
// * Created by yantingjun on 2016/7/14.
// */
//import com.candy.db.generator.utils.LogKit;
//
//import javax.sql.DataSource;
//import java.sql.SQLFeatureNotSupportedException;
//import java.util.Collections;
//import java.util.LinkedList;
//import java.sql.Connection;
//import java.sql.SQLException;
//import java.sql.DriverManager;
//import java.io.PrintWriter;
//import java.util.List;
//import java.util.logging.Logger;
//
///**
// * 一个简单的DataSource实现
// *
// * @author leizhimin 2010-1-14 0:03:17
// */
//public class SimpleDataSource implements DataSource {
//    private String driverClass = null;
//    private String jdbcUrl = null;
//    private String user = null;
//    private String password = null;
//    //连接池
//    private static List<Connection> pool = (LinkedList<Connection>) Collections.synchronizedList(new LinkedList<Connection>());
//
//    public SimpleDataSource() {
//        try {
//            Class.forName(getDriverClass());
//        } catch (ClassNotFoundException e) {
//            LogKit.error("找不到驱动类！", e);
//        }
//    }
//
//    /**
//     * 获取一个数据库连接
//     *
//     * @return 一个数据库连接
//     * @throws SQLException
//     */
//    public Connection getConnection() throws SQLException {
//        synchronized (pool) {
//            if (pool.size() > 0) return pool.removeFirst();
//            else return makeConnection();
//        }
//    }
//
//    /**
//     * 连接归池
//     *
//     * @param conn
//     */
//    public static void freeConnection(Connection conn) {
//        pool.addLast(conn);
//    }
//
//    private Connection makeConnection() throws SQLException {
//        return DriverManager.getConnection(jdbcUrl, user, password);
//    }
//
//    public Connection getConnection(String username, String password) throws SQLException {
//        return DriverManager.getConnection(jdbcUrl, username, password);
//    }
//
//    public PrintWriter getLogWriter() throws SQLException {
//        return null;
//    }
//
//    public void setLogWriter(PrintWriter out) throws SQLException {
//
//    }
//
//    public void setLoginTimeout(int seconds) throws SQLException {
//
//    }
//
//    public int getLoginTimeout() throws SQLException {
//        return 0;
//    }
//
//    @Override
//    public Logger getParentLogger() throws SQLFeatureNotSupportedException {
//        return null;
//    }
//
//    public <T> T unwrap(Class<T> iface) throws SQLException {
//        return null;
//    }
//
//    public boolean isWrapperFor(Class<?> iface) throws SQLException {
//        return false;
//    }
//
//    public String getDriverClass() {
//        return driverClass;
//    }
//
//    public void setDriverClass(String driverClass) {
//        this.driverClass = driverClass;
//    }
//
//    public String getJdbcUrl() {
//        return jdbcUrl;
//    }
//
//    public void setJdbcUrl(String jdbcUrl) {
//        this.jdbcUrl = jdbcUrl;
//    }
//
//    public String getUser() {
//        return user;
//    }
//
//    public void setUser(String user) {
//        this.user = user;
//    }
//
//    public String getPassword() {
//        return password;
//    }
//
//    public void setPassword(String password) {
//        this.password = password;
//    }
//}
